/*
    输入格式
    圆盘数 起始柱 目的柱 过度柱

    输出格式
    移动汉诺塔的步骤
    每行显示一步操作，具体格式为：
    盘片号: 起始柱 -> 目的柱
    其中盘片号从 1 开始由小到大顺序编号。

    输入样例
        3
        a c b
    输出样例
        1: a -> c
        2: a -> b
        1: c -> b
        3: a -> c
        1: b -> a
        2: b -> c
        1: a -> c
*/

#include<bits/stdc++.h>
using namespace std;
void hanoi(int n,char a,char b,char c){
	if(n==1){
		printf("%d: %c -> %c\n",n,a,c);
	}else{
		hanoi(n-1,a,c,b);
		printf("%d: %c -> %c\n",n,a,c);
		hanoi(n-1,b,a,c);
	}
} 
int main(){
	int n;
	char a,b,c;
	scanf("%d\n",&n);
	scanf("%c %c %c",&a,&c,&b);
	hanoi(n,a,b,c);
} 
